/**
 * 操作日志管理
 * 
 * @param $
 */
(function($) {
	
	var SystemOptionLogObject = {
		
		init : function() {
			// 初始化成员表格
			this._init_option_log_table();
			// 注册比对按钮
			this._reg_changes_btn();
			// 注册搜索按钮
			this._reg_search_btn();
		},
		
		// 注册搜索按钮
		_reg_search_btn : function() {
			$(".pf-search-btn").click(function() {
				// 刷新
				var data = {
					queryParams : function(params) {
						params.className = $("#className").val();
						params.entityId = $("#entityId").val();
						return params;
					},
					pageNumber : 1
				};
				$("#pf_option_logs_table").bootstrapTable('refresh', data);
			});
		},
		
		// 注册比对按钮
		_reg_changes_btn : function() {
			
			$(document).on(
					"click",
					".pf_changes_btn",
					function() {
						//
						$("#pf_change_modal").modal("show");
						//
						var data = $(this).closest("tr").data("data");
						// 原字段值json格式
						var originalFieldValueJson = eval('(' + data.originalFieldValue + ')');
						// 新字段值json格式
						var newFieldValueJson = eval('(' + data.newFieldValue + ')');
						// 表格
						var $tbody = $("#pf_change_table tbody");
						$tbody.html("");
						//
						
						if (data.optionStatus == 1) {
							// 新增
							for ( var key in newFieldValueJson) {
								var newValue = newFieldValueJson[key];
								var $tr = $('<tr data-index="0">' + '<td style="text-align: center; vertical-align: middle;">' + key + '</td>'
										+ '<td style="text-align: center; vertical-align: middle;"></td>' + '<td style="text-align: center; vertical-align: middle;"><div>'
										+ newValue + '</div></td>' + '</tr>');
								$tbody.append($tr);
							}
						} else if (data.optionStatus == 2) {
							// 更新
							for ( var key in originalFieldValueJson) {
								var originalValue = originalFieldValueJson[key];
								var newValue = newFieldValueJson[key];
								
								var $tr = $('<tr data-index="0">' + '<td style="text-align: center; vertical-align: middle;">' + key + '</td>'
										+ '<td style="text-align: center; vertical-align: middle;"><div>' + originalValue + '</div></td>'
										+ '<td style="text-align: center; vertical-align: middle;"><div>' + newValue + '</div></td>' + '</tr>');
								$tbody.append($tr);
							}
						} else if (data.optionStatus == 3) {
							// 删除
							for ( var key in originalFieldValueJson) {
								var originalValue = originalFieldValueJson[key];
								var $tr = $('<tr data-index="0">' + '<td style="text-align: center; vertical-align: middle;">' + key + '</td>'
										+ '<td style="text-align: center; vertical-align: middle;"><div>' + originalValue + '</div></td>'
										+ '<td style="text-align: center; vertical-align: middle;"></td>' + '</tr>');
								$tbody.append($tr);
							}
						}
						
					});
			
		},
		
		// 初始化成员表格
		_init_option_log_table : function() {
			// $.fn.bootstrapTable.locales['zh-CN'].formatSearch = function() {
			// return "类名";
			// }
			// $.extend($.fn.bootstrapTable.defaults,
			// $.fn.bootstrapTable.locales['zh-CN']);
			$("#pf_option_logs_table").bootstrapTable({
				method : 'get',
				url : "/manage/system/option_log/get/all",
				cache : false,
				// height : 400,
				sidePagination : 'server', // client or server
				queryParamsType : 'pageSize',
				// search : true,
				striped : true,
				clickToSelect : true,
				pagination : true,
				pageSize : 10,
				pageList : [ 10, 20, 50, 100, 200 ],
				paginationDetail : true,
				paginationHAlign : 'right', // right, left
				showColumns : true,
				showRefresh : true,
				minimumCountColumns : 2,
				checkboxHeader : false,
				clickToSelect : true,
				columns : [ {
					field : 'id',
					title : '#',
					align : 'center',
					valign : 'middle',
					visible : false,
					sortable : false
				}, {
					field : 'className',
					title : '类名',
					align : 'left',
					valign : 'middle',
					visible : true,
					sortable : true
				}, {
					field : 'entityId',
					title : '主键值',
					align : 'left',
					valign : 'middle',
					visible : true,
					sortable : true
				}, {
					field : 'changes',
					title : '比对',
					align : 'center',
					valign : 'middle',
					visible : true,
					sortable : true,
					formatter : function(value, row, index) {
						return '<button class="btn btn-primary btn-sm pf_changes_btn"><i class="glyphicon glyphicon-transfer"></i>比对</button>';
					}
				},

				// {
				// field : 'originalFieldValue',
				// title : '原字段值',
				// align : 'left',
				// valign : 'middle',
				// visible : false,
				// sortable : false
				// }, {
				// field : 'newFieldValue',
				// title : '新字段值',
				// align : 'left',
				// valign : 'middle',
				// visible : false,
				// sortable : false
				// },
				
				{
					field : 'optionStatus',
					title : '操作类型',
					align : 'center',
					valign : 'middle',
					visible : true,
					sortable : true,
					formatter : function(value, row, index) {
						if (value == 1) {
							return "新增";
						} else if (value == 2) {
							return "更新";
						} else if (value == 3) {
							return "删除";
						}
					}
				}, {
					field : 'createTime',
					title : '创建时间',
					align : 'center',
					valign : 'middle',
					visible : true,
					sortable : true
				} ]
			});
		}
	
	}

	SystemOptionLogObject.init();
})(jQuery);